package br.edu.infnet.dao;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.Query;

import br.edu.infnet.model.Conta;
import br.edu.infnet.model.Movimento;
@Stateless
@LocalBean
public class ContaDao extends GenericDAO<Conta>{

	public ContaDao() {
		super(Conta.class);
	}
	

	public List<Movimento> extratoPorData(Date inicio, Date fim) {
		
		List<Movimento> movimentos = new ArrayList<Movimento>();
		
		String query = "SELECT m FROM Movimento m where tsMovimento >= ? and tsMovimento <= ?";
		
		Query q = super.getEm().createQuery(query);
		
		q.setParameter(1, inicio);
		q.setParameter(2, fim);
		
		movimentos = q.getResultList();
		
		
		return movimentos;
		
		
	}
	
	public List<Conta> ListaContasPendentes(int agencia) {
		
		List<Conta> contas=new ArrayList<Conta>();
		String query = "SELECT c FROM Conta c";
				 
		if (agencia==0) {
			query = query + " where estadoConta=1";
		} else {
			query = query + " where estadoConta=1 and fkAgencia=" + agencia;
		}
		
		Query q = super.getEm().createQuery(query);
		
		
		contas = (List<Conta>) q.getResultList();
		
		
		
		
		return contas;
		
		
		
	}

}
